#include "Bullet3Collision/NarrowPhaseCollision/b3CpuNarrowPhase.h"
#ifdef __cplusplus
extern "C" {
#endif
int bullet_b3CpuNarrowPhase_allocateCollidable(b3CpuNarrowPhase* c_this){
	int c_out = c_this->allocateCollidable();
	int wrap_out = (c_out);
	return wrap_out;
}

b3Collidable* bullet_b3CpuNarrowPhase_getCollidableCpu(b3CpuNarrowPhase* c_this,int collidableIndex){
	int c_arg_collidableIndex=collidableIndex;
	b3Collidable& c_out = c_this->getCollidableCpu(c_arg_collidableIndex);
	b3Collidable* wrap_out = (b3Collidable*)(&c_out);
	return wrap_out;
}

b3Collidable* bullet_b3CpuNarrowPhase_getCollidableCpu1(b3CpuNarrowPhase* c_this,int collidableIndex){
	int c_arg_collidableIndex=collidableIndex;
	b3Collidable const& c_out = c_this->getCollidableCpu(c_arg_collidableIndex);
	b3Collidable* wrap_out = (b3Collidable*)(&c_out);
	return wrap_out;
}

b3Aabb* bullet_b3CpuNarrowPhase_getLocalSpaceAabb(b3CpuNarrowPhase* c_this,int collidableIndex){
	int c_arg_collidableIndex=collidableIndex;
	b3Aabb const& c_out = c_this->getLocalSpaceAabb(c_arg_collidableIndex);
	b3Aabb* wrap_out = (b3Aabb*)(&c_out);
	return wrap_out;
}

int bullet_b3CpuNarrowPhase_getStatic0Index(b3CpuNarrowPhase* c_this){
	int c_out = c_this->getStatic0Index();
	int wrap_out = (c_out);
	return wrap_out;
}

int bullet_b3CpuNarrowPhase_registerConvexHullShape(b3CpuNarrowPhase* c_this,b3ConvexUtility* utilPtr){
	b3ConvexUtility * c_arg_utilPtr=(b3ConvexUtility *)(void*)(utilPtr);
	int c_out = c_this->registerConvexHullShape(c_arg_utilPtr);
	int wrap_out = (c_out);
	return wrap_out;
}

int bullet_b3CpuNarrowPhase_registerConvexHullShape1(b3CpuNarrowPhase* c_this,float* vertices,int strideInBytes,int numVertices,float* scaling){
	float const * c_arg_vertices=(float const *)(void*)(vertices);
	int c_arg_strideInBytes=strideInBytes;
	int c_arg_numVertices=numVertices;
	float const * c_arg_scaling=(float const *)(void*)(scaling);
	int c_out = c_this->registerConvexHullShape(c_arg_vertices,c_arg_strideInBytes,c_arg_numVertices,c_arg_scaling);
	int wrap_out = (c_out);
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
